package org.summer.lawyer.domain.vo.userwalletlog;

import io.github.linpeilie.annotations.AutoMapper;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.summer.lawyer.domain.UserWalletLog;

import java.io.Serial;
import java.io.Serializable;



/**
 * 用户钱包流水记录视图对象 user_wallet_log
 *
 * @author summer
 * @date 2024-06-28
 */
@Schema(title ="用户钱包流水记录视图对象 user_wallet_log", description = "用户钱包流水记录视图对象 user_wallet_log")
@Data
@AutoMapper(target = UserWalletLog.class)
public class UserWalletLogVo implements Serializable{

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Schema(title = "id", type = "Long", description = "主键ID")
    private Long id;

    /**
     * 用户ID
     */
    @Schema(title = "wxUserId", type = "Long", description = "用户ID")
    private Long wxUserId;

    /**
     * 流水号
     */
    @Schema(title = "walletNo", type = "String", description = "流水号")
    private String walletNo;

    /**
     * 业务ID
     */
    @Schema(title = "targetUuid", type = "String", description = "业务ID")
    private String targetUuid;

    /**
     * 业务类型
     */
    @Schema(title = "targetType", type = "String", description = "业务类型")
    private String targetType;

    /**
     * 操作类型（收入，提现）
     */
    @Schema(title = "actionType", type = "String", description = "操作类型（收入，提现）")
    private String actionType;

    /**
     * 变动前金额（单位分）
     */
    @Schema(title = "preAmount", type = "Long", description = "变动前金额（单位分）")
    private Long preAmount;

    /**
     * 变动金额（单位分）
     */
    @Schema(title = "amount", type = "Long", description = "变动金额（单位分）")
    private Long amount;

    /**
     * 变动后金额（单位分）
     */
    @Schema(title = "postAmount", type = "Long", description = "变动后金额（单位分）")
    private Long postAmount;

    /**
     * 备注
     */
    @Schema(title = "remark", type = "String", description = "备注")
    private String remark;


}
